package com.cuit.qx.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Table;

/**
 * <p>
 * 产品表
 * </p>
 *
 * @author lcj
 * @since 2021-11-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Product extends Model<Product> {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.UUID)
    private String id;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 类型
     */
    private String productType;

    /**
     * 时效
     */
    private Integer productMoment;

    /**
     * 期次
     */
    private Integer productNo;

    /**
     * 预报
     */
    private String forecastUsr;

    /**
     * 录入
     */
    private String enteringUsr;

    /**
     * 校检
     */
    private String verifyUsr;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 签发单位
     */
    private String department;

    /**
     * 内容
     */
    private String content;

    /**
     * 预留字段
     */
    private String remark;


    /**
     * 起报日期
     */
    @TableField(exist = false)
    @JsonIgnore
    private String startDate;

    /**
     * 产品模式
     */
    @TableField(exist = false)
    @JsonIgnore
    private String pattern;

    /**
     * 起报时间
     * @return
     */
    private String startTime;

    /**
     * 图片地址
     */
    @TableField(exist = false)
    @JsonIgnore
    private String imagesPath;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }


    public String getId() {
        return id;
    }

    public Product setId(String id) {
        this.id = id;
        return this;
    }

    public String getProductName() {
        return productName;
    }

    public Product setProductName(String productName) {
        this.productName = productName;
        return this;
    }

    public String getProductType() {
        return productType;
    }

    public Product setProductType(String productType) {
        this.productType = productType;
        return this;
    }

    public Integer getProductMoment() {
        return productMoment;
    }

    public Product setProductMoment(Integer productMoment) {
        this.productMoment = productMoment;
        return this;
    }

    public Integer getProductNo() {
        return productNo;
    }

    public Product setProductNo(Integer productNo) {
        this.productNo = productNo;
        return this;
    }

    public String getForecastUsr() {
        return forecastUsr;
    }

    public Product setForecastUsr(String forecastUsr) {
        this.forecastUsr = forecastUsr;
        return this;
    }

    public String getEnteringUsr() {
        return enteringUsr;
    }

    public Product setEnteringUsr(String enteringUsr) {
        this.enteringUsr = enteringUsr;
        return this;
    }

    public String getVerifyUsr() {
        return verifyUsr;
    }

    public Product setVerifyUsr(String verifyUsr) {
        this.verifyUsr = verifyUsr;
        return this;
    }

    public String getCreateTime() {
        return createTime;
    }

    public Product setCreateTime(String createTime) {
        this.createTime = createTime;
        return this;
    }

    public String getDepartment() {
        return department;
    }

    public Product setDepartment(String department) {
        this.department = department;
        return this;
    }

    public String getContent() {
        return content;
    }

    public Product setContent(String content) {
        this.content = content;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public Product setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    public String getStartDate() {
        return startDate;
    }

    public Product setStartDate(String startDate) {
        this.startDate = startDate;
        return this;
    }

    public String getPattern() {
        return pattern;
    }

    public Product setPattern(String pattern) {
        this.pattern = pattern;
        return this;
    }

    public String getStartTime() {
        return startTime;
    }

    public Product setStartTime(String startTime) {
        this.startTime = startTime;
        return this;
    }

    public String getImagesPath() {
        return imagesPath;
    }

    public Product setImagesPath(String imagesPath) {
        this.imagesPath = imagesPath;
        return this;
    }
}
